/*
 * BackPropagationSolver.h
 *
 *  Created on: 31/mag/2012
 *      Author: Lorenzo
 */

#ifndef BACKPROPAGATIONSOLVER_H_
#define BACKPROPAGATIONSOLVER_H_

#include <vector>
#include "EvaluationReport.h"
#include "Formula.h"

enum varValue  { TRUE, FALSE, UNASSIGNED  };


class BackPropagationSolver {
public:
	BackPropagationSolver();
	virtual ~BackPropagationSolver();

	EvaluationReport solve(Formula& f);

private:
	EvaluationReport backPropagation(Formula& f, std::vector<varValue> & vars);

	unsigned int count;
};


#endif /* BACKPROPAGATIONSOLVER_H_ */
